package builder.source;

/**
 * 建造者模式（Builder）：
 * 用于创建一些复杂的对象，这些对象内部构建间的建造顺序通常是稳定的，
 * 但对象内部的构建通常面临着复杂的变化。
 *
 * 创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式
 *
 * 建造者模式使建造代码与标识代码分离，由于建造者隐藏了该产品是如何组装的，
 * 所以若需要改变一个产品的内部表示，只需要再定义一个具体的建造者就可以
 * @author Chen Guang
 * @date 2019/4/9 0009 下午 13:50
 */
public abstract class AbstractBuilder {
    public abstract void buildPartA();
    public abstract void buildPartB();
    public abstract Product getResult();
}
